package com.rin.design_pattern.singleton;

/**
 * @author RinMi
 * @since 2023/5/26
 */
public class SingletonDemo {
    public static void main(String[] args) {
        Singleton singleton = Singleton.newInstance();
        singleton.showMessage("Hello World!");

        LazySingleton lazySingleton;

        lazySingleton = LazySingleton.newInstance();
        lazySingleton.showMessage("so call good man");

        lazySingleton = LazySingleton.safeNewInstance();
        lazySingleton.showMessage("S'all good man");

        lazySingleton = LazySingleton.doubleLockNewInstance();
        lazySingleton.showMessage("saul goodman");

        lazySingleton = LazySingleton.getInstance();
        lazySingleton.showMessage("Hersenberg");
    }
}
